#include <info.h>
#include <stdio.h>
#include <idt.h>
#include <gdt.h>

void cmain(unsigned long magic, unsigned long addr, unsigned long l_cmain,
		unsigned long start, unsigned long mbh, unsigned long mbe, unsigned long stack);

/* Implementation. */

/* Main. */
void cmain(unsigned long magic, unsigned long addr, unsigned long l_cmain,
		unsigned long start, unsigned long mbh, unsigned long mbe, unsigned long stack) {
	/* Clear the screen. */
	cls();
	printf("Hello from The Operating System!\n\nMultiboot info:\n\n");
	printinfo(magic, addr);
	printf("\n'cmain' label address: 0x%x", l_cmain);
	printf("\n'start' label address: 0x%x", start);
	printf("\n'mbh' label address: 0x%x", mbh);
	printf("\n'mbe' label address: 0x%x", mbe);
	printf("\n'stack' label address: 0x%x", stack);
}

